package a.f.d;

import a.c.bb;
import a.c.d;
import a.c.e;
import a.c.j;
import a.c.k;
import a.f.d.a.ac;
import a.f.d.a.bc;
import a.f.d.a.hc;
import a.f.d.a.zb;
import a.f.o;
import a.f.rc;

import java.util.HashMap;

public class s
  implements fb, zb
{
  private e a;
  private e b;
  private bb c;
  private fb d = new ob();
  private k e;
  private HashMap f;
  private o g;
  private boolean h = true;
  private a.c.n i;
  private a.c.n j;
  private a.c.x k;
  private a.c.x l;
  private a.c.x m;
  public static final String n = "y.layout.hierarchic.ConstraintLayerer.EDGE_WEIGHTS_DPKEY";
  private k o;
  private int p;
  private a.c.ab q;
  private a.c.ab r;
  private boolean s;
  public static int t;
  
  public fb a()
  {
    return this.d;
  }
  
  public void a(fb paramfb)
  {
    this.d = paramfb;
  }
  
  public s(fb paramfb)
  {
    this.d = paramfb;
  }
  
  public s()
  {
    this(new ob());
    ((ob)this.d).a((byte)2);
  }
  
  public boolean b()
  {
    return this.s;
  }
  
  public void a(boolean paramBoolean)
  {
    this.s = paramBoolean;
  }
  
  public int a(o paramo, a.c.x paramx, a.c.ab paramab)
  {
    int i3 = f.o;
    int i2 = f.n;
    this.g = new a.f.q();
    k localk1 = paramo.c(c_.a);
    if (i3 == 0)
    {
      if (localk1 != null)
      {
        if (i3 != 0) {
          break label68;
        }
        this.e = ((k)localk1.get(c_.a));
      }
    }
    else {
      if (i2 == 0) {
        break label72;
      }
    }
    label68:
    this.e = null;
    label72:
    k localk2 = paramo.c(rc.a);
    this.f = new HashMap();
    this.o = paramo.c("y.layout.hierarchic.ConstraintLayerer.EDGE_WEIGHTS_DPKEY");
    this.m = paramo.B();
    this.k = this.g.B();
    this.p = 0;
    e locale;
    if (localk2 != null)
    {
      localw = paramo.v();
      do
      {
        if (!localw.e()) {
          break;
        }
        locale = localw.d();
        Object localObject = localk2.get(locale);
        this.f.put(localObject, locale);
        localw.f();
        if (i3 != 0) {
          break label274;
        }
        if (i2 != 0) {
          break label270;
        }
      } while (i2 == 0);
    }
    a.c.w localw = paramo.v();
    do
    {
      if (!localw.e()) {
        break;
      }
      locale = localw.d();
      this.f.put(locale, locale);
      localw.f();
      if (i3 != 0) {
        break label274;
      }
      if (i2 != 0) {
        break label270;
      }
    } while (i2 == 0);
    if (i3 == 0)
    {
      b(paramo);
      label270:
      label274:
      if (i3 != 0) {
        break label330;
      }
      if (this.h)
      {
        if (i3 != 0) {
          break label325;
        }
        if (this.o == null)
        {
          paramo.a(this.m);
          return d(paramo, paramx, paramab);
        }
      }
      c();
      a(paramo);
      a(paramo);
    }
    label325:
    label330:
    int i1 = b(paramo, paramx);
    if (i3 == 0)
    {
      if (!this.s)
      {
        a(paramo, paramx);
        i1 = b(paramo, paramx);
      }
      c(paramo, paramx, paramab);
      paramo.a(this.m);
      this.f.clear();
    }
    return i1;
  }
  
  private void a(o paramo, a.c.x paramx)
  {
    int i6 = f.o;
    int i5 = f.n;
    bb localbb = new bb();
    int i1 = 0;
    HashMap localHashMap1 = new HashMap();
    HashMap localHashMap2 = new HashMap();
    Object localObject1 = this.c.l();
    Object localObject3;
    e locale1;
    do
    {
      do
      {
        if (!((a.c.w)localObject1).e()) {
          break;
        }
        localObject2 = ((a.c.w)localObject1).d();
        localObject3 = ((e)localObject2).o();
        locale1 = ((a.c.w)localObject3).d();
        ((a.c.w)localObject3).f();
        e locale2 = ((a.c.w)localObject3).d();
        localHashMap1.put(localObject2, locale1);
        localHashMap2.put(localObject2, locale2);
        ((a.c.w)localObject1).f();
        if (i6 != 0) {
          break label162;
        }
        if (i5 != 0) {
          break label155;
        }
      } while (i5 == 0);
    } while (i6 != 0);
    localObject1 = this.c.l();
    label155:
    label162:
    do
    {
      do
      {
        if (!((a.c.w)localObject1).e()) {
          break;
        }
        localObject2 = ((a.c.w)localObject1).d();
        this.g.a((e)localObject2);
        ((a.c.w)localObject1).f();
        if (i6 != 0) {
          break label226;
        }
        if (i5 != 0) {
          break label219;
        }
      } while (i5 == 0);
    } while (i6 != 0);
    localObject1 = this.c.l();
    label219:
    label226:
    int i2;
    label491:
    do
    {
      if (!((a.c.w)localObject1).e()) {
        break;
      }
      localObject2 = ((a.c.w)localObject1).d();
      localObject3 = (e)localHashMap1.get(localObject2);
      locale1 = (e)localHashMap2.get(localObject2);
      i2 = paramx.getInt(((bb)this.k.get(localObject3)).m());
      if (i5 != 0) {
        break label510;
      }
      int i3 = paramx.getInt(((bb)this.k.get(locale1)).m());
      if (localObject3 != locale1)
      {
        if (i6 == 0) {
          if (i2 == i3)
          {
            localbb.add(localObject2);
            if (i6 != 0) {
              continue;
            }
            if (i5 == 0) {
              break label491;
            }
          }
        }
        d locald1;
        if (i2 < i3)
        {
          if ((i6 != 0) || (((e)localObject3).a(locale1) == null))
          {
            locald1 = this.g.a((e)localObject3, locale1);
            this.j.a(locald1, i3 - i2);
            this.i.a(locald1, 1);
            i1++;
            if (i6 != 0) {
              continue;
            }
            if (i5 == 0) {}
          }
        }
        else if ((i6 != 0) || (((e)localObject3).b(locale1) == null))
        {
          locald1 = this.g.a(locale1, (e)localObject3);
          this.j.a(locald1, i2 - i3);
          this.i.a(locald1, 1);
          i1++;
        }
      }
      ((a.c.w)localObject1).f();
    } while (i5 == 0);
    label510:
    localObject1 = this.g.B();
    a.a.x.a(a.a.x.a(this.g), (a.c.x)localObject1);
    Object localObject2 = localbb.l();
    do
    {
      if (!((a.c.w)localObject2).e()) {
        break;
      }
      localObject3 = ((a.c.w)localObject2).d();
      locale1 = (e)localHashMap1.get(localObject3);
      i2 = ((a.c.x)localObject1).getInt(locale1);
      e locale3 = (e)localHashMap2.get(localObject3);
      int i4 = ((a.c.x)localObject1).getInt(locale3);
      if ((i6 == 0) && (i5 != 0)) {
        return;
      }
      d locald2;
      if (i2 <= i4)
      {
        if ((i6 != 0) || (locale1.a(locale3) == null))
        {
          locald2 = this.g.a(locale1, locale3);
          this.j.a(locald2, 1);
          this.i.a(locald2, 100);
          i1++;
          if (i6 != 0) {
            continue;
          }
          if (i5 == 0) {}
        }
      }
      else if ((i6 != 0) || (locale1.b(locale3) == null))
      {
        locald2 = this.g.a(locale3, locale1);
        this.j.a(locald2, 1);
        this.i.a(locald2, 100);
        i1++;
      }
      ((a.c.w)localObject2).f();
    } while (i5 == 0);
    if (i6 == 0) {
      this.g.a((a.c.x)localObject1);
    }
  }
  
  private void b(o paramo, a.c.x paramx, a.c.ab paramab)
  {
    int i3 = f.o;
    int i2 = f.n;
    a.c.w localw = paramo.v();
    do
    {
      do
      {
        if (!localw.e()) {
          break;
        }
        localObject = localw.d();
        a.i.n.a(3, "Node: " + localObject + ": Layer " + paramx.getInt(localObject));
        localw.f();
        if (i3 != 0) {
          break label154;
        }
        if (i2 != 0) {
          break label153;
        }
      } while (i2 == 0);
    } while (i3 != 0);
    a.i.n.a(2, "Number of reversed edges: " + paramab.size() + " <-> " + paramab.size() * 100 / paramo.l() + "%");
    label153:
    label154:
    int i1 = 0;
    Object localObject = paramab.l();
    do
    {
      do
      {
        if (!((a.c.m)localObject).e()) {
          break;
        }
        d locald = ((a.c.m)localObject).a();
        i1 += paramx.getInt(locald.f()) - paramx.getInt(locald.e());
        ((a.c.m)localObject).f();
        if ((i3 == 0) && (i2 != 0)) {
          return;
        }
      } while (i2 == 0);
    } while (i3 != 0);
    a.i.n.a(2, "Total length of reversed edges: " + i1 + " Avg:  " + i1 / paramab.size());
  }
  
  private void c(o paramo, a.c.x paramx, a.c.ab paramab)
  {
    paramab.addAll(w.a(paramo, paramx));
  }
  
  private void a(o paramo)
  {
    int i2 = f.o;
    int i1 = f.n;
    this.c = new bb();
    this.p += paramo.l() + 10;
    a.c.m localm = this.r.l();
    d locald;
    e locale1;
    e locale2;
    do
    {
      do
      {
        if (!localm.e()) {
          break;
        }
        locald = localm.a();
        locale1 = (e)this.m.get(locald.e());
        locale2 = (e)this.m.get(locald.f());
        a(locale1, locale2, locald, false);
        localm.f();
        if (i2 != 0) {
          break label147;
        }
        if (i1 != 0) {
          break label141;
        }
      } while (i1 == 0);
    } while (i2 != 0);
    localm = this.q.l();
    label141:
    label147:
    do
    {
      if (!localm.e()) {
        break;
      }
      locald = localm.a();
      locale1 = (e)this.m.get(locald.e());
      locale2 = (e)this.m.get(locald.f());
      a(locale1, locale2, locald, true);
      localm.f();
    } while (i1 == 0);
  }
  
  private void a(e parame1, e parame2, d paramd, boolean paramBoolean)
  {
    int i5 = f.o;
    int i4 = f.n;
    int i1 = this.l.getInt(parame1);
    int i2 = this.l.getInt(parame2);
    d locald = parame1.c(parame2);
    if (locald != null)
    {
      if (i5 == 0) {}
      int i3 = Math.max(this.o == null ? 1 : this.o.getInt(paramd), this.i.getInt(locald));
      this.i.a(locald, i3);
      return;
    }
    if (parame1 == parame2) {
      return;
    }
    if (i5 == 0)
    {
      if (i1 < i2)
      {
        a(parame1, parame2, paramd, false, false);
        if ((i5 == 0) && (i4 == 0)) {
          return;
        }
      }
      if (i5 != 0) {}
    }
    else
    {
      if (i1 != i2) {
        break label170;
      }
      if (i5 != 0) {
        break label176;
      }
      a(parame1, parame2, paramd, true, true);
    }
    if (i4 != 0) {
      label170:
      label176:
      a(parame2, parame1, paramd, false, true);
    }
  }
  
  private void a(e parame1, e parame2, d paramd, boolean paramBoolean1, boolean paramBoolean2)
  {
    int i2 = f.o;
    e locale = this.g.i();
    this.c.add(locale);
    d locald1 = this.g.a(locale, parame1);
    if (i2 == 0) {}
    int i1 = this.o == null ? 1 : this.o.getInt(paramd);
    this.i.a(locald1, this.p);
    this.j.a(locald1, 0);
    d locald2 = this.g.a(locale, parame2);
    if (i2 == 0) {}
    this.i.a(locald2, paramBoolean1 ? this.p : i1);
    if (i2 == 0) {}
    this.j.a(locald2, paramBoolean1 ? 0 : 1);
  }
  
  private void a(a.c.q paramq)
  {
    int i5 = f.o;
    int i4 = f.n;
    this.l = this.g.B();
    this.q = new a.c.ab();
    this.r = new a.c.ab();
    a.c.ab localab1 = new a.c.ab();
    a.c.ab localab2 = new a.c.ab();
    a.i.y localy = new a.i.y(this.g);
    if (i5 == 0)
    {
      if (this.a != null) {
        localy.a(this.a.l());
      }
      if (i5 != 0) {}
    }
    else if (this.b != null)
    {
      localy.a(this.b.l());
    }
    a.c.x localx = this.g.B();
    a.a.m.a(this.g, localx);
    a.c.m localm = paramq.w();
    Object localObject2;
    label303:
    do
    {
      do
      {
        if (!localm.e()) {
          break;
        }
        localObject1 = localm.a();
        localObject2 = (e)this.m.get(((d)localObject1).e());
        e locale = (e)this.m.get(((d)localObject1).f());
        if (i5 != 0) {
          break label350;
        }
        if (i4 != 0) {
          break label332;
        }
        if (localObject2 != locale)
        {
          int i2 = localx.getInt(localObject2);
          int i3 = localx.getInt(locale);
          d locald = this.g.a((e)localObject2, locale);
          localab2.add(locald);
          if (i5 == 0) {
            if (i2 != i3)
            {
              this.q.add(localObject1);
              if (i5 != 0) {
                continue;
              }
              if (i4 == 0) {
                break label303;
              }
            }
          }
          this.r.add(localObject1);
        }
        localm.f();
      } while (i4 == 0);
    } while (i5 != 0);
    localab2.addAll(a.a.m.b(this.g));
    label332:
    label350:
    int i1 = this.d.a(this.g, this.l, localab1);
    Object localObject1 = localab1.l();
    do
    {
      do
      {
        if (!((a.c.m)localObject1).e()) {
          break;
        }
        localObject2 = ((a.c.m)localObject1).a();
        this.g.e((d)localObject2);
        ((a.c.m)localObject1).f();
        if (i5 != 0) {
          break label426;
        }
        if (i4 != 0) {
          break label419;
        }
      } while (i4 == 0);
    } while (i5 != 0);
    localObject1 = localab2.l();
    label419:
    label426:
    do
    {
      if (!((a.c.m)localObject1).e()) {
        break;
      }
      localObject2 = ((a.c.m)localObject1).a();
      if (i5 != 0) {
        break label480;
      }
      this.g.a((d)localObject2);
      ((a.c.m)localObject1).f();
      if (i4 != 0) {
        break label479;
      }
    } while (i4 == 0);
    if (i5 == 0) {
      localy.g();
    }
    label479:
    label480:
    if (i5 == 0)
    {
      if (this.a != null) {
        this.l.a(this.a, -1);
      }
      if (i5 != 0) {}
    }
    else if (this.b != null)
    {
      this.l.a(this.b, i1 + 1);
    }
    this.g.a(localx);
  }
  
  private int b(o paramo, a.c.x paramx)
  {
    int i5 = f.o;
    int i4 = f.n;
    a.c.x localx1 = this.g.B();
    a.c.x localx2 = paramo.B();
    a.c.x localx3 = this.g.B();
    int i1 = a.a.m.a(this.g, localx3);
    a.i.z localz = new a.i.z(this.g, localx3);
    int i2 = 0;
    if (i2 < i1)
    {
      localz.c(new Integer(i2));
      a.a.db.a(this.g, localx1, this.i, this.j);
      if (i5 != 0) {}
    }
    else
    {
      label255:
      do
      {
        if (i4 != 0) {
          break label312;
        }
        a.c.w localw1 = this.g.v();
        do
        {
          do
          {
            if (!localw1.e()) {
              break label260;
            }
            e locale1 = localw1.d();
            int i3 = localx1.getInt(locale1);
            bb localbb = (bb)this.k.get(locale1);
            if (i5 != 0) {
              break label270;
            }
            if (i4 != 0) {
              break label268;
            }
            if ((i5 != 0) || (localbb != null))
            {
              a.c.w localw2 = localbb.l();
              do
              {
                if (!localw2.e()) {
                  break;
                }
                e locale2 = localw2.d();
                localx2.a(locale2, i3);
                localw2.f();
                if (i5 != 0) {
                  break label257;
                }
                if (i4 != 0) {
                  break label255;
                }
              } while (i4 == 0);
            }
          } while (i5 != 0);
          localw1.f();
        } while (i4 == 0);
        if (i5 == 0) {
          i2++;
        }
        if (i4 == 0) {
          break;
        }
        i2 = new ab().a(paramo, localx2, paramx);
        paramo.a(localx2);
        this.g.a(localx1);
      } while (i5 != 0);
      label257:
      label260:
      label268:
      label270:
      label312:
      this.g.a(localx3);
      localz.g();
    }
    return i2;
  }
  
  private int d(o paramo, a.c.x paramx, a.c.ab paramab)
  {
    int i5 = f.o;
    int i4 = f.n;
    a.c.x localx = paramo.B();
    int i1 = a.a.m.a(paramo, localx);
    a.i.z localz = new a.i.z(paramo, localx);
    int i2 = 0;
    int i3 = 0;
    if (i3 < i1)
    {
      localz.c(new Integer(i3));
      i2 = Math.max(i2, this.d.a(paramo, paramx, paramab));
      i3++;
    }
    for (;;)
    {
      if (i5 == 0) {
        if (i4 == 0)
        {
          if (i4 == 0) {
            break;
          }
          localz.g();
          if (i5 != 0) {
            continue;
          }
          paramo.a(localx);
        }
      }
    }
    return i2;
  }
  
  protected void c()
  {
    if (!l.a(this.g)) {
      throw new IllegalArgumentException("Circular constraints detected");
    }
  }
  
  private void b(o paramo)
  {
    int i3 = f.o;
    int i2 = f.n;
    a.c.n localn = this.g.C();
    this.i = this.g.C();
    this.j = this.g.C();
    k localk = paramo.c(rc.a);
    a.c.ab localab = new a.c.ab();
    a.c.x localx1 = this.g.B();
    a.c.x localx2 = this.g.B();
    a.c.x localx3 = this.g.B();
    this.a = null;
    this.b = null;
    Object localObject1 = paramo.v();
    Object localObject2;
    Object localObject3;
    Object localObject4;
    Object localObject5;
    Object localObject6;
    Object localObject7;
    Object localObject8;
    Object localObject9;
    label617:
    label629:
    do
    {
      do
      {
        if (!((a.c.w)localObject1).e()) {
          break;
        }
        localObject2 = ((a.c.w)localObject1).d();
        if (i3 != 0) {
          break label755;
        }
        localObject3 = a((e)localObject2);
        if (i2 != 0) {
          break label752;
        }
        if ((i3 != 0) || (this.e != null))
        {
          if (i3 == 0) {}
          localObject4 = (a.c.z)this.e.get(localk != null ? localk.get(localObject2) : localObject2);
          if (i3 != 0) {
            continue;
          }
          if (localObject4 != null)
          {
            this.h = false;
            localObject5 = ((a.c.z)localObject4).h();
            do
            {
              if (!((a.c.y)localObject5).e()) {
                break label729;
              }
              localObject6 = ((a.c.y)localObject5).j();
              if (i2 != 0) {
                break;
              }
              if ((localObject6 instanceof b_))
              {
                localObject7 = (b_)localObject6;
                localObject8 = null;
                localObject9 = ((b_)localObject7).d();
                e locale = (e)this.f.get(localObject9);
                localObject8 = a(locale);
                int i1 = 0;
                if (i3 != 0) {
                  continue;
                }
                d locald;
                switch (((b_)localObject7).b())
                {
                case 0: 
                  if ((i3 != 0) || ((localObject3 != null) && (localObject8 != null)))
                  {
                    locald = this.g.a((e)localObject3, (e)localObject8);
                    localab.add(locald);
                    localn.a(locald, true);
                    if (i3 != 0) {
                      continue;
                    }
                  }
                  break;
                case -1: 
                  if ((i2 != 0) && ((i3 != 0) || ((localObject3 != null) && (localObject8 != null))))
                  {
                    i1 = ((b_)localObject7).e();
                    locald = this.g.a((e)localObject3, (e)localObject8);
                    this.j.a(locald, i1);
                    this.i.a(locald, 0);
                    this.p += 1;
                    if (i3 != 0) {
                      continue;
                    }
                  }
                  break;
                case 1: 
                  if ((i2 != 0) && ((i3 != 0) || ((localObject3 != null) && (localObject8 != null))))
                  {
                    i1 = ((b_)localObject7).e();
                    locald = this.g.a((e)localObject8, (e)localObject3);
                    this.j.a(locald, i1);
                    this.i.a(locald, ((b_)localObject7).a());
                    this.p += 1;
                    if (i3 != 0) {
                      continue;
                    }
                    if (i2 == 0) {
                      break;
                    }
                  }
                  break;
                case 2: 
                  if (i3 == 0)
                  {
                    if (localObject3 == null) {
                      break;
                    }
                    if (i3 != 0) {}
                  }
                  else if (this.a == null)
                  {
                    this.a = ((e)localObject3);
                    if (i3 != 0) {
                      break label629;
                    }
                    if (i2 == 0) {
                      break label617;
                    }
                  }
                  locald = this.g.a((e)localObject3, this.a);
                  localab.add(locald);
                  localn.a(locald, true);
                  localx2.a(localObject3, true);
                  if (i3 != 0) {
                    continue;
                  }
                  if (i2 == 0) {
                    break;
                  }
                case -2: 
                  if (i3 == 0)
                  {
                    if (localObject3 == null) {
                      break;
                    }
                    if (i3 != 0) {}
                  }
                  else if (this.b == null)
                  {
                    if (i3 != 0) {
                      break label676;
                    }
                    this.b = ((e)localObject3);
                    if (i2 == 0) {
                      break label707;
                    }
                  }
                  locald = this.g.a((e)localObject3, this.b);
                  localab.add(locald);
                  localn.a(locald, true);
                  localx1.a(localObject3, true);
                }
              }
              ((a.c.y)localObject5).f();
            } while (i2 == 0);
          }
        }
        ((a.c.w)localObject1).f();
      } while (i3 != 0);
    } while (i2 == 0);
    label676:
    label707:
    label729:
    if (i3 == 0)
    {
      label752:
      label755:
      if (i3 != 0) {
        break label890;
      }
      if (this.a != null)
      {
        localObject1 = this.g.v();
        if (!((a.c.w)localObject1).e()) {}
      }
    }
    label873:
    do
    {
      localObject2 = ((a.c.w)localObject1).d();
      if (i2 != 0) {
        break label909;
      }
      if (!localx2.getBool(localObject2))
      {
        if (i3 != 0) {
          break label873;
        }
        if (!localx3.getBool(localObject2))
        {
          localObject3 = this.g.a(this.a, (e)localObject2);
          this.j.a(localObject3, 1);
          this.i.a(localObject3, 0);
        }
      }
      ((a.c.w)localObject1).f();
      if (i2 == 0) {
        break;
      }
      if (i3 != 0) {
        break label894;
      }
    } while (i3 != 0);
    if (this.b != null)
    {
      label890:
      label894:
      localObject1 = this.g.v();
      label909:
      do
      {
        if (!((a.c.w)localObject1).e()) {
          break;
        }
        localObject2 = ((a.c.w)localObject1).d();
        if (i3 == 0)
        {
          if (!localx1.getBool(localObject2))
          {
            if (i3 != 0) {
              continue;
            }
            if (!localx3.getBool(localObject2))
            {
              localObject3 = this.g.a((e)localObject2, this.b);
              this.j.a(localObject3, 1);
              this.i.a(localObject3, 0);
            }
          }
          ((a.c.w)localObject1).f();
        }
      } while (i2 == 0);
    }
    localObject1 = localab.l();
    label1178:
    label1183:
    label1383:
    label1385:
    do
    {
      if (!((a.c.m)localObject1).e()) {
        break;
      }
      localObject2 = ((a.c.m)localObject1).a();
      localObject3 = ((d)localObject2).e();
      localObject4 = ((d)localObject2).f();
      this.g.a((d)localObject2);
      if (i2 != 0) {
        return;
      }
      if ((localObject3 != localObject4) || (!localn.getBool(localObject2)))
      {
        localObject5 = new a.c.ab(((e)localObject4).n());
        localObject6 = ((a.c.ab)localObject5).l();
        do
        {
          if (!((a.c.m)localObject6).e()) {
            break;
          }
          localObject7 = ((a.c.m)localObject6).a();
          this.g.a((d)localObject7, (e)localObject3, ((d)localObject7).f());
          if (i3 != 0) {
            break label1183;
          }
          ((a.c.m)localObject6).f();
          if (i2 != 0) {
            break label1178;
          }
        } while (i2 == 0);
        if (i3 == 0) {
          localObject5 = new a.c.ab(((e)localObject4).m());
        }
        localObject6 = ((a.c.ab)localObject5).l();
        do
        {
          if (!((a.c.m)localObject6).e()) {
            break;
          }
          localObject7 = ((a.c.m)localObject6).a();
          this.g.a((d)localObject7, ((d)localObject7).e(), (e)localObject3);
          ((a.c.m)localObject6).f();
          if (i3 != 0) {
            break label1416;
          }
          if (i2 != 0) {
            break label1414;
          }
        } while (i2 == 0);
        localObject6 = (bb)this.k.get(localObject4);
        localObject7 = (bb)this.k.get(localObject3);
        if (i3 == 0)
        {
          if ((i3 != 0) || (localObject6 != null))
          {
            localObject8 = ((bb)localObject6).l();
            do
            {
              if (!((a.c.w)localObject8).e()) {
                break;
              }
              if (i3 != 0) {
                break label1385;
              }
              localObject9 = ((a.c.w)localObject8).d();
              ((bb)localObject7).add(localObject9);
              this.m.a(localObject9, localObject3);
              ((a.c.w)localObject8).f();
              if (i2 != 0) {
                break label1383;
              }
            } while (i2 == 0);
          }
          if ((i3 == 0) && (i3 == 0)) {
            if (localObject4 == this.b) {
              this.b = ((e)localObject3);
            }
          }
          if (localObject4 == this.a) {
            this.a = ((e)localObject3);
          }
          this.g.a((e)localObject4);
        }
      }
      else
      {
        ((a.c.m)localObject1).f();
      }
    } while (i2 == 0);
    label1414:
    label1416:
    this.g.a(localn);
    this.g.a(localx1);
    this.g.a(localx3);
    if (i3 == 0) {
      this.g.a(localx2);
    }
  }
  
  private e a(e parame)
  {
    int i1 = f.o;
    if (i1 == 0) {
      if (parame == null) {
        return null;
      }
    }
    e locale = (e)this.m.get(parame);
    if (i1 == 0) {
      if (locale == null)
      {
        locale = this.g.i();
        this.m.a(parame, locale);
        bb localbb = new bb();
        localbb.add(parame);
        this.k.a(locale, localbb);
      }
    }
    return locale;
  }
  
  public void a(o paramo, ac paramac, bc parambc)
  {
    new hc(this).a(paramo, paramac, parambc);
  }
  
  public static c_ b(a.c.q paramq)
  {
    return new a_(paramq);
  }
  
  private static class b_
  {
    private Object a;
    private int c;
    private byte d;
    private int e = 0;
    private static final byte f = 0;
    private static final byte g = -1;
    private static final byte h = 1;
    private static final byte i = 2;
    private static final byte j = -2;
    
    public int a()
    {
      return this.e;
    }
    
    public byte b()
    {
      return this.d;
    }
    
    public b_(byte paramByte, Object paramObject, int paramInt)
    {
      this(paramByte, paramObject, paramInt, 0);
    }
    
    public b_(byte paramByte, Object paramObject, int paramInt1, int paramInt2)
    {
      this.a = paramObject;
      this.c = paramInt1;
      this.d = paramByte;
      this.e = paramInt2;
    }
    
    public Object d()
    {
      return this.a;
    }
    
    public int e()
    {
      return this.c;
    }
  }
  
  private static class a_
    implements s.c_
  {
    private a.c.q c;
    private j d;
    
    public a_(a.c.q paramq)
    {
      this.c = paramq;
      this.d = a.i.db.c();
      if ((f.o != 0) || (paramq != null)) {
        paramq.a(s.c_.a, a.i.q.a(this.d));
      }
    }
    
    public Object a()
    {
      return this.d;
    }
    
    public void b()
    {
      if (f.o == 0) {
        if (this.c != null)
        {
          this.c.j(s.c_.a);
          this.c = null;
        }
      }
      this.d = null;
    }
    
    public void a(Object paramObject1, Object paramObject2)
    {
      a(paramObject2, new s.b_((byte)1, paramObject1, 1));
    }
    
    public void a(Object paramObject1, Object paramObject2, int paramInt)
    {
      a(paramObject2, new s.b_((byte)1, paramObject1, paramInt));
    }
    
    public void a(Object paramObject1, Object paramObject2, int paramInt1, int paramInt2)
    {
      a(paramObject2, new s.b_((byte)1, paramObject1, paramInt1, paramInt2));
    }
    
    public void b(Object paramObject1, Object paramObject2)
    {
      a(paramObject2, new s.b_((byte)-1, paramObject1, 1));
    }
    
    public void b(Object paramObject1, Object paramObject2, int paramInt)
    {
      a(paramObject2, new s.b_((byte)-1, paramObject1, paramInt));
    }
    
    public void b(Object paramObject1, Object paramObject2, int paramInt1, int paramInt2)
    {
      a(paramObject2, new s.b_((byte)-1, paramObject1, paramInt1, paramInt2));
    }
    
    public void c(Object paramObject1, Object paramObject2)
    {
      a(paramObject2, new s.b_((byte)0, paramObject1, 0));
    }
    
    public void a(Object paramObject)
    {
      a(paramObject, new s.b_((byte)2, null, 0));
    }
    
    public void b(Object paramObject)
    {
      a(paramObject, new s.b_((byte)-2, null, 0));
    }
    
    public void c(Object paramObject)
    {
      this.d.a(paramObject, null);
    }
    
    private void a(Object paramObject, s.b_ paramb_)
    {
      a.c.z localz = (a.c.z)this.d.get(paramObject);
      if (f.o == 0) {
        if (localz == null)
        {
          localz = new a.c.z();
          this.d.a(paramObject, localz);
        }
      }
      localz.add(paramb_);
    }
  }
  
  public static abstract interface c_
  {
    public static final Object a = "y.layout.hierarchic.ConstraintLayerer.ConstraintFactory.LAYER_CONSTRAINTS_MEMENTO_DPKEY";
    
    public abstract Object a();
    
    public abstract void b();
    
    public abstract void a(Object paramObject1, Object paramObject2);
    
    public abstract void a(Object paramObject1, Object paramObject2, int paramInt);
    
    public abstract void a(Object paramObject1, Object paramObject2, int paramInt1, int paramInt2);
    
    public abstract void b(Object paramObject1, Object paramObject2);
    
    public abstract void b(Object paramObject1, Object paramObject2, int paramInt);
    
    public abstract void b(Object paramObject1, Object paramObject2, int paramInt1, int paramInt2);
    
    public abstract void c(Object paramObject1, Object paramObject2);
    
    public abstract void a(Object paramObject);
    
    public abstract void b(Object paramObject);
    
    public abstract void c(Object paramObject);
  }
}



/* Location:           E:\idea\

 * Qualified Name:     a.f.d.s

 * JD-Core Version:    0.7.0.1

 */